<%+header%>
<script type="text/javascript" src="<%=resource%>/cbi.js"></script>
<script type="text/javascript" src="<%=resource%>/bmx7/js/polling.js"></script>

<style>
	div.hideme{
		display: none;
	}

	div.info{
		background: #FFF;
		border: solid 1px;
		height: 80px;
		display: block;
		overflow: auto;
	}

	div.inforow{
		text-align:left;
		display:inline-block;
		width:20%;
		margin:5px;
		vertical-align:top;
	}

	#extra-info ul { list-style: none outside none; margin-left: 0em; }
</style>

<div class="cbi-map">
	<center>
		<img src="<%=resource%>/bmx7/bmx7logo.png" />
		<br />
		<br />
		A mesh routing protocol for Linux devices.<br />
		Visit <a href="http://bmx6.net">bmx6.net</a> for more information.<br />
		<br />
	</center>

<div class="cbi-map-descr"></div>

<fieldset class="cbi-section">
	<legend><%:Node configuration%></legend>
	<table class="cbi-section-table" id="config_table">
		<tr class="cbi-section-table-titles">
			<th class="cbi-section-table-cell"><%:Short ID%></th>
			<th class="cbi-section-table-cell"><%:Node name%></th>
			<th class="cbi-section-table-cell"><%:Primary IPv6 address%></th>
			<th class="cbi-section-table-cell"><%:Node key%></th>
			<th class="cbi-section-table-cell"><%:BMX7 revision%></th>
		</tr>
		<tr class="cbi-section-table-row">
			<td colspan="5"><em><br /><%:Collecting data...%></em></td>
		</tr>
	</table>
</fieldset>

<fieldset class="cbi-section">
	<legend><%:Node status%></legend>
	<table class="cbi-section-table" id="status_table">
		<tr class="cbi-section-table-titles">
			<th class="cbi-section-table-cell"><%:Nodes seen%></th>
			<th class="cbi-section-table-cell"><%:Neighbours%></th>
			<th class="cbi-section-table-cell"><%:Tunnelled IPv6 address%></th>
			<th class="cbi-section-table-cell"><%:Tunnelled IPv4 address%></th>
			<th class="cbi-section-table-cell"><%:Uptime%></th>
			<th class="cbi-section-table-cell"><%:CPU usage%></th>
			<th class="cbi-section-table-cell"><%:Memory usage%></th>
			<th class="cbi-section-table-cell"><%:Tx queue%></th>

		</tr>
		<tr class="cbi-section-table-row">
			<td colspan="8"><em><br /><%:Collecting data...%></em></td>
		</tr>
	</table>
</fieldset>

<fieldset class="cbi-section">
	<legend><%:Interfaces%></legend>
	<table class="cbi-section-table" id="ifaces_table">
		<tr class="cbi-section-table-titles">
			<th class="cbi-section-table-cell"><%:Interface%></th>
			<th class="cbi-section-table-cell"><%:State%></th>
			<th class="cbi-section-table-cell"><%:Type%></th>
			<th class="cbi-section-table-cell"><%:Max. rate%></th>
			<th class="cbi-section-table-cell"><%:Link-local IPv6 address%></th>
			<th class="cbi-section-table-cell"><%:Rx BpP%></th>
			<th class="cbi-section-table-cell"><%:Tx BpP%></th>

		</tr>
		<tr class="cbi-section-table-row">
			<td colspan="7"><em><br /><%:Collecting data...%></em></td>
		</tr>
	</table>
</fieldset>

<fieldset class="cbi-section">
	<legend><%:Links%></legend>
	<table class="cbi-section-table" id="links_table">
		<tr class="cbi-section-table-titles">
			<th class="cbi-section-table-cell"><%:Short ID%></th>
			<th class="cbi-section-table-cell"><%:Name%></th>
			<th class="cbi-section-table-cell"><%:Link key%></th>
			<th class="cbi-section-table-cell"><%:Remote link-local IPv6 address%></th>
			<th class="cbi-section-table-cell"><%:Device%></th>
			<th class="cbi-section-table-cell"><%:Rx rate%></th>
			<th class="cbi-section-table-cell"><%:Tx rate%></th>
			<th class="cbi-section-table-cell"><%:Routes%></th>

		</tr>
		<tr class="cbi-section-table-row">
			<td colspan="8"><em><br /><%:Collecting data...%></em></td>
		</tr>
	</table>
</fieldset>


</div>

<script type="text/javascript">//<![CDATA[
	new TablePooler(1,"/cgi-bin/bmx7-info", {'$info':''}, "config_table", function(st){
		var res = Array();
		var sta = st.info[0].status;
		var ifaces = st.info[1].interfaces;

		res.push([sta.shortId, sta.name, sta.primaryIp, sta.nodeKey, sta.revision]);
		res.push(['','','','',''])
		res.push(['','','','',''])

		return res;
	});


	new TablePooler(1,"/cgi-bin/bmx7-info", {'$info':''}, "status_table", function(st){
		var res = Array();
		var sta = st.info[0].status;
		var mem = st.info[3].memory;

		var txQ = sta.txQ.split('/');
		console.log(txQ)

		var ptxQ = '<p style="color:rgb('+parseInt(255*txQ[0]/txQ[1])+','+parseInt(128*(txQ[1]-txQ[0])/txQ[1])+',0)")>'+sta.txQ+'</p>';
		console.log(ptxQ)

		res.push([sta.nodes, sta.nbs, sta.tun6Address, sta.tun4Address, sta.uptime, sta.cpu, mem.bmx7, ptxQ]);

		res.push(['','','','','','','',''])
		res.push(['','','','','','','',''])

		return res;
	});

		new TablePooler(1,"/cgi-bin/bmx7-info", {'$info':''}, "ifaces_table", function(st){
		var res = Array();
		var sta = st.info[0].status;
		var ifaces = st.info[1].interfaces;

		ifaces.forEach(function(iface){
			res.push([iface.dev, iface.state, iface.type, iface.rateMax, iface.localIp, iface.rxBpP, iface.txBpP]);
		});
		res.push(['','','','','','',''])
		if (ifaces.length % 2 == 0)
			res.push('')
		res.push(['','','','','','',''])
		return res;
	});

		new TablePooler(1,"/cgi-bin/bmx7-info", {'links':''}, "links_table", function(st){
		var res = Array();
		links = st.links;

		links.forEach(function(link){
			res.push([link.shortId, link.name, link.linkKey, link.nbLocalIp, link.dev, link.rxRate, link.txRate, link.routes]);
		});
		res.push(['','','','','','','',''])
		if (links.length % 2 == 0)
			res.push([])
		res.push(['','','','','','','',''])
		return res;
	});
//]]></script>

<%+footer%>
